package com.zego.zegowawaji_server.service.socket.utils;

import android.support.v4.app.FragmentActivity;
import android.text.TextUtils;
import android.util.Log;

import com.zego.base.log.PLogger;

import org.json.JSONException;
import org.json.JSONObject;

/**
 * 即时通讯工具类
 */
public class IMUtils {
    private static final String TAG = "IMLogger";
    private static final boolean isLog = false;

    /**
     * 日志打印
     */
    public static void log(String msg) {
        if (isLog)
            Log.d(TAG , "\n" + msg);
    }

    public static void logThrowable(Throwable throwable) {
        if(isLog)
            PLogger.printThrowable(throwable);
    }

    /**
     * 帐号无效
     *
     * @param reason 重登陆原因：1[异地登陆踢下线]，2[密码验证失败，用户不存在等]
     */
    public static void accountInvalid(int reason, String content) {
        switch (reason) {
            case 1:// 踢下线弹窗
//                showInvalidDialog((FragmentActivity) App.getActivity(), "您的账号在另一台设备登录！");
                break;
            case 2:// 帐号无效
//                showInvalidDialog((FragmentActivity) App.getActivity(), "账号无效，请重新登录。");
                break;
            case 3:// 账号被封消息
//                try {
//                    if (!TextUtils.isEmpty(content)) {
//                        JSONObject contentObject = new JSONObject(content);
//                        String unban_tm = contentObject.optString("unban_tm");
//                        UIShow.showBottomBannedDlg(App.getActivity(), true, TypeConvertUtil.toLong(unban_tm));
//                        ModuleMgr.getLoginMgr().clearCookie();
//                    }
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                }
                break;
            default:
                break;
        }
    }

    /**
     * 显示帐号无效弹框
     *
     * @param tip 弹框提示文字
     */
    private static void showInvalidDialog(final FragmentActivity context, final String tip) {
//        ModuleMgr.getLoginMgr().logout();
//        MsgMgr.getInstance().runOnUiThread(new Runnable() {
//            @Override
//            public void run() {
//                try {
//                    PickerDialogUtil.showTipDialogCancelBack(context, new SimpleTipDialog.ConfirmListener() {
//                        @Override
//                        public void onCancel() {
//                        }
//
//                        @Override
//                        public void onSubmit() {
//                            UIShow.showActivityClearTask(context, NavUserAct.class);
//
//                        }
//                    }, tip, "提示", "", "确定", false, false);
//                } catch (Exception e) {
//                    UIShow.showActivityClearTask(context, NavUserAct.class);
//                }
//            }
//        });
    }
}
